<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>3dchess: S:/dev/3dchess/src/gui/Menu2DItem.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">3dchess
   </div>
   <div id="projectbrief">Basic chess application with OpenGL graphics and AI</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_99d0482cf009f9d97a0877749b817f19.html">gui</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">Menu2DItem.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">    Copyright (c) 2013-2014, Patrick Hillert &lt;silent@gmx.biz&gt;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">    All rights reserved.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">    Redistribution and use in source and binary forms, with or without</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">    modification, are permitted provided that the following conditions are met:</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">    1. Redistributions of source code must retain the above copyright notice,</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">    this list of conditions and the following disclaimer.</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">    2. Redistributions in binary form must reproduce the above copyright</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">    notice, this list of conditions and the following disclaimer in the</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">    documentation and/or other materials provided with the distribution.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">    3. Neither the name of the copyright holder nor the names of its</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">    contributors may be used to endorse or promote products derived from</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">    this software without specific prior written permission.</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">    POSSIBILITY OF SUCH DAMAGE.</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#ifndef MENU2DITEM_H</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define MENU2DITEM_H</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;boost/signals2.hpp&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;windows.h&gt;</span> <span class="comment">// Needed for gl.h</span></div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &lt;GL/gl.h&gt;</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &quot;SOIL.h&quot;</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &quot;gui/Menu2DItem.h&quot;</span></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="class_menu2_d_item.html">   55</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_menu2_d_item.html">Menu2DItem</a> {</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keyword">virtual</span> ~<a class="code" href="class_menu2_d_item.html">Menu2DItem</a>();</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <a class="code" href="class_menu2_d_item.html#aa5f612d93b1fc719ccfd7fe83960ed96">Menu2DItem</a>(std::string filename, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_menu2_d_item.html#a5ebd05ac029239426ed6b3c353368178">setPosition</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_menu2_d_item.html#a84e5e6b2a768a849252b56173ff0d81b">draw</a>();</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_menu2_d_item.html#afe4d5156f84b692112fe2f3bb96d0ca9">mouseMoved</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_menu2_d_item.html#a219a95e8c6af0f0ad6cdd2805e892618">mousePressed</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_menu2_d_item.html#a88d50871f3aa6a4ee0fdc2e70ccfc286">mouseReleased</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_menu2_d_item.html#adc83ffb400e17c78cb10682c823fd14b">onClick</a>(<span class="keyword">const</span> boost::function&lt;<span class="keywordtype">void</span>()&gt;&amp; slot);</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_menu2_d_item.html#a877abc3c2cf4a9a5c13307bfea0207f2">unClick</a>();</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="class_menu2_d_item.html#a7b953a27d1a5baa49c5005cb6ed717cf">  137</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_menu2_d_item.html#a7b953a27d1a5baa49c5005cb6ed717cf">m_width</a>;</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div>
<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="class_menu2_d_item.html#a3bb59ba864dae798bf94e1668f265352">  140</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_menu2_d_item.html#a3bb59ba864dae798bf94e1668f265352">m_height</a>;</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div>
<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="class_menu2_d_item.html#a8774a2c967e29e066d165bae8e6b1afa">  143</a></span>&#160;    std::string <a class="code" href="class_menu2_d_item.html#a8774a2c967e29e066d165bae8e6b1afa">m_filename</a>;</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="class_menu2_d_item.html#aad86dc658e4ae414e50b560dd512a864">  146</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_menu2_d_item.html#aad86dc658e4ae414e50b560dd512a864">m_positionX</a>;</div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="class_menu2_d_item.html#a5a38feb4eb309db8f577b8966c1a01a0">  149</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_menu2_d_item.html#a5a38feb4eb309db8f577b8966c1a01a0">m_positionY</a>;</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="class_menu2_d_item.html#a25b01877e11d00f5ea01d3a68b9cbc12">  152</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_menu2_d_item.html#a25b01877e11d00f5ea01d3a68b9cbc12">m_mousePosX</a> = 0;</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="class_menu2_d_item.html#a085bdb66064acd1f4603e4fa4a46a15c">  155</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_menu2_d_item.html#a085bdb66064acd1f4603e4fa4a46a15c">m_mousePosY</a> = 0;</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="class_menu2_d_item.html#a52cee065a43ca3322222f6ee51e107f6">  158</a></span>&#160;    GLuint <a class="code" href="class_menu2_d_item.html#a52cee065a43ca3322222f6ee51e107f6">m_texture</a>[3];</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div>
<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="class_menu2_d_item.html#a94d3c979b0736d262fa4e75445f69bcb">  161</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_menu2_d_item.html#a94d3c979b0736d262fa4e75445f69bcb">m_hovered</a>;</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="class_menu2_d_item.html#a0446e1db762e51095251c561eb9391cc">  164</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_menu2_d_item.html#a0446e1db762e51095251c561eb9391cc">m_activated</a> = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_menu2_d_item.html#af42943fdc11402f188cfd6cd4166ffbe">inBoundingBox</a>();</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div>
<div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="class_menu2_d_item.html#ae89f99ab52331aa56dca322bd9a24dcd">  173</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="class_menu2_d_item.html#ae89f99ab52331aa56dca322bd9a24dcd">Signal</a> = boost::signals2::signal&lt;void()&gt;;</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    <a class="code" href="class_menu2_d_item.html#ae89f99ab52331aa56dca322bd9a24dcd">Signal</a> m_clicked;</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;};</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keyword">using</span> Menu2DItemPtr = std::shared_ptr&lt;Menu2DItem&gt;; <span class="comment">// provide shared pointer</span></div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif // MENU2DITEM_H</span></div>
<div class="ttc" id="class_menu2_d_item_html"><div class="ttname"><a href="class_menu2_d_item.html">Menu2DItem</a></div><div class="ttdoc">This class describes a button of a menu. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.h:55</div></div>
<div class="ttc" id="class_menu2_d_item_html_a7b953a27d1a5baa49c5005cb6ed717cf"><div class="ttname"><a href="class_menu2_d_item.html#a7b953a27d1a5baa49c5005cb6ed717cf">Menu2DItem::m_width</a></div><div class="ttdeci">int m_width</div><div class="ttdoc">The width of the button. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.h:137</div></div>
<div class="ttc" id="class_menu2_d_item_html_a0446e1db762e51095251c561eb9391cc"><div class="ttname"><a href="class_menu2_d_item.html#a0446e1db762e51095251c561eb9391cc">Menu2DItem::m_activated</a></div><div class="ttdeci">bool m_activated</div><div class="ttdoc">Flag, if the button is activated at this moment. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.h:164</div></div>
<div class="ttc" id="class_menu2_d_item_html_aad86dc658e4ae414e50b560dd512a864"><div class="ttname"><a href="class_menu2_d_item.html#aad86dc658e4ae414e50b560dd512a864">Menu2DItem::m_positionX</a></div><div class="ttdeci">int m_positionX</div><div class="ttdoc">The button&#39;s x position. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.h:146</div></div>
<div class="ttc" id="class_menu2_d_item_html_a877abc3c2cf4a9a5c13307bfea0207f2"><div class="ttname"><a href="class_menu2_d_item.html#a877abc3c2cf4a9a5c13307bfea0207f2">Menu2DItem::unClick</a></div><div class="ttdeci">void unClick()</div><div class="ttdoc">Remove all click signals. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.cpp:154</div></div>
<div class="ttc" id="class_menu2_d_item_html_af42943fdc11402f188cfd6cd4166ffbe"><div class="ttname"><a href="class_menu2_d_item.html#af42943fdc11402f188cfd6cd4166ffbe">Menu2DItem::inBoundingBox</a></div><div class="ttdeci">bool inBoundingBox()</div><div class="ttdoc">Checks whether the mouse is currently above the button. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.cpp:79</div></div>
<div class="ttc" id="class_menu2_d_item_html_a88d50871f3aa6a4ee0fdc2e70ccfc286"><div class="ttname"><a href="class_menu2_d_item.html#a88d50871f3aa6a4ee0fdc2e70ccfc286">Menu2DItem::mouseReleased</a></div><div class="ttdeci">void mouseReleased(int x, int y)</div><div class="ttdoc">Sets the coordinates, where the mouse click was released in the viewport. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.cpp:138</div></div>
<div class="ttc" id="class_menu2_d_item_html_adc83ffb400e17c78cb10682c823fd14b"><div class="ttname"><a href="class_menu2_d_item.html#adc83ffb400e17c78cb10682c823fd14b">Menu2DItem::onClick</a></div><div class="ttdeci">void onClick(const boost::function&lt; void()&gt; &amp;slot)</div><div class="ttdoc">Add a function or method which should be called via boost signals when the button is clicked...</div><div class="ttdef"><b>Definition:</b> Menu2DItem.cpp:150</div></div>
<div class="ttc" id="class_menu2_d_item_html_ae89f99ab52331aa56dca322bd9a24dcd"><div class="ttname"><a href="class_menu2_d_item.html#ae89f99ab52331aa56dca322bd9a24dcd">Menu2DItem::Signal</a></div><div class="ttdeci">boost::signals2::signal&lt; void()&gt; Signal</div><div class="ttdoc">Boost signals2 to provide callback functionality. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.h:173</div></div>
<div class="ttc" id="class_menu2_d_item_html_afe4d5156f84b692112fe2f3bb96d0ca9"><div class="ttname"><a href="class_menu2_d_item.html#afe4d5156f84b692112fe2f3bb96d0ca9">Menu2DItem::mouseMoved</a></div><div class="ttdeci">void mouseMoved(int x, int y)</div><div class="ttdoc">Updates the mouse&#39;s pointer/cursor position. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.cpp:114</div></div>
<div class="ttc" id="class_menu2_d_item_html_a8774a2c967e29e066d165bae8e6b1afa"><div class="ttname"><a href="class_menu2_d_item.html#a8774a2c967e29e066d165bae8e6b1afa">Menu2DItem::m_filename</a></div><div class="ttdeci">std::string m_filename</div><div class="ttdoc">The filename (without prefix) for the three textures. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.h:143</div></div>
<div class="ttc" id="class_menu2_d_item_html_a5ebd05ac029239426ed6b3c353368178"><div class="ttname"><a href="class_menu2_d_item.html#a5ebd05ac029239426ed6b3c353368178">Menu2DItem::setPosition</a></div><div class="ttdeci">void setPosition(int x, int y)</div><div class="ttdoc">Sets the buttons position in viewport coordinates. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.cpp:74</div></div>
<div class="ttc" id="class_menu2_d_item_html_a085bdb66064acd1f4603e4fa4a46a15c"><div class="ttname"><a href="class_menu2_d_item.html#a085bdb66064acd1f4603e4fa4a46a15c">Menu2DItem::m_mousePosY</a></div><div class="ttdeci">int m_mousePosY</div><div class="ttdoc">The current mouse&#39;s x position. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.h:155</div></div>
<div class="ttc" id="class_menu2_d_item_html_a5a38feb4eb309db8f577b8966c1a01a0"><div class="ttname"><a href="class_menu2_d_item.html#a5a38feb4eb309db8f577b8966c1a01a0">Menu2DItem::m_positionY</a></div><div class="ttdeci">int m_positionY</div><div class="ttdoc">The button&#39;s y position. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.h:149</div></div>
<div class="ttc" id="class_menu2_d_item_html_a52cee065a43ca3322222f6ee51e107f6"><div class="ttname"><a href="class_menu2_d_item.html#a52cee065a43ca3322222f6ee51e107f6">Menu2DItem::m_texture</a></div><div class="ttdeci">GLuint m_texture[3]</div><div class="ttdoc">The button&#39;s state textures. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.h:158</div></div>
<div class="ttc" id="class_menu2_d_item_html_a25b01877e11d00f5ea01d3a68b9cbc12"><div class="ttname"><a href="class_menu2_d_item.html#a25b01877e11d00f5ea01d3a68b9cbc12">Menu2DItem::m_mousePosX</a></div><div class="ttdeci">int m_mousePosX</div><div class="ttdoc">The current mouse&#39;s x position. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.h:152</div></div>
<div class="ttc" id="class_menu2_d_item_html_a84e5e6b2a768a849252b56173ff0d81b"><div class="ttname"><a href="class_menu2_d_item.html#a84e5e6b2a768a849252b56173ff0d81b">Menu2DItem::draw</a></div><div class="ttdeci">void draw()</div><div class="ttdoc">Draws the button on the previously set position. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.cpp:86</div></div>
<div class="ttc" id="class_menu2_d_item_html_a3bb59ba864dae798bf94e1668f265352"><div class="ttname"><a href="class_menu2_d_item.html#a3bb59ba864dae798bf94e1668f265352">Menu2DItem::m_height</a></div><div class="ttdeci">int m_height</div><div class="ttdoc">The height of the button. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.h:140</div></div>
<div class="ttc" id="class_menu2_d_item_html_a94d3c979b0736d262fa4e75445f69bcb"><div class="ttname"><a href="class_menu2_d_item.html#a94d3c979b0736d262fa4e75445f69bcb">Menu2DItem::m_hovered</a></div><div class="ttdeci">bool m_hovered</div><div class="ttdoc">Flag, if the button is hovered at this moment. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.h:161</div></div>
<div class="ttc" id="class_menu2_d_item_html_a219a95e8c6af0f0ad6cdd2805e892618"><div class="ttname"><a href="class_menu2_d_item.html#a219a95e8c6af0f0ad6cdd2805e892618">Menu2DItem::mousePressed</a></div><div class="ttdeci">void mousePressed(int x, int y)</div><div class="ttdoc">Sets the coordinates, where the mouse clicked in the viewport. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.cpp:128</div></div>
<div class="ttc" id="class_menu2_d_item_html_aa5f612d93b1fc719ccfd7fe83960ed96"><div class="ttname"><a href="class_menu2_d_item.html#aa5f612d93b1fc719ccfd7fe83960ed96">Menu2DItem::Menu2DItem</a></div><div class="ttdeci">Menu2DItem(std::string filename, int width, int height)</div><div class="ttdoc">Creates a new menu button item. </div><div class="ttdef"><b>Definition:</b> Menu2DItem.cpp:40</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Mar 9 2014 23:12:55 for 3dchess by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>
